/*
 * @lc app=leetcode.cn id=11 lang=typescript
 *
 * [11] 盛最多水的容器
 */

// @lc code=start
// 性能有问题。。。
// function maxArea(height: number[]): number {
//     let max = 0;
//     height.forEach((i, index) => {
//         height.slice(index + 1).forEach((sec, secI) => {
//             const content = Math.min(sec, i) * (secI + 1);
//             if (content > max) max = content;
//         });
//     });
//     return max;
// }

function maxArea(height: number[]): number {
    let i = 0;
    let j = height.length - 1;
    let max = (j - i) * Math.min(height[i], height[j]);
    while (i < j) {
        if (height[i] > height[j]) {
            if (height[j--] >= height[j]) {
                // 原来的高于这个
                continue;
            }
        } else {
            if (height[i++] >= height[i]) {
                // 原来的高于这个
                continue;
            }
        }
        const size = (j - i) * Math.min(height[i], height[j]);
        size > max && (max = size);
    }

    return max;
}
// @lc code=end
